1. Field of the Invention
This invention relates to a programmable rank order filter implementation suitable for use in real-time signal and image processing applications.
2. Description of Related Art
The rank order filter is a filter that orders n samples of an input and replaces the smallest to the largest samples with ranks ranging, respectively, from zero to n-1.
The simplest application is in a detector which operates under the hypothesis that all of the samples are independent samples from an unknown density function, the test sample having an equal probability of taking on any of the n values. This type of rank detector is constructed by comparing the rank with a threshold or target rank and generating a 1 if the rank is larger, a 0 otherwise. The 0's and 1's are summed in a moving window. For the more general case of correlated time samples, the detector is often divided into three parts, a ranker, an integrator, and a threshold "decision processor". The decision processor estimates the standard deviation of the correlated sample with a mean deviant estimator.
Depending on the target rank, rank order filters include as a subclass minimum, maximum, and median filters, and thus this type of filter has a wide variety of uses. Used as a median filter, for example, the rank order filter is able to eliminate Gaussian interference while preserving sharp edges of an input pulse, and thus is especially useful in image processing. The rank order filter can also be used as a maximum or minimum filter by choosing a target rank which is equal, respectively, either to one or to the window size.
The two most common approaches for implementing rank order filters are to use either dedicated hard-wired circuitry or software., Both approaches have disadvantages, however. Hardware implementations, while possessing the speed necessary for real time applications, lack flexibility, while software implementations, which are generally more flexible, are significantly slower than hardware implementations. The inventive programmable rank order filter, on the other hand, as described below, is a hardware implementation which has been designed for both maximum speed and flexibility.